#include <54func.h>
int main()
{
    //申请的物理内存地址
    int shimd = shmget(0x1234,4096,IPC_CREAT|0600);
    ERROR_CHECK(shimd,-1,"shmget");
    //将申请的物理内存映射到进程的虚拟内存地址
    int *p = (int *)shmat(shimd,NULL,0);
    *p = 0;
    if(fork())
    {
        for(int i=0;i<1000000;i++)
        {
            ++*p;//会先对*p执行递增操作，再返回递增后的值！
        }
        wait(NULL);//确保子进程结束后，才会执行父进程
        printf("*p = %d\n",*p);
    }else {
        for(int i=0;i<1000000;i++){
            ++*p;
        }
    }

    return 0;
}
